[% setvar title hThe Perl 6 Summary for the week ending 2004-09-10 %]
<div id="archive-notice">
    <h3>This file is part of the Perl 6 Archive</h3>
    <p>To see what is currently happening visit <a href="http://www.perl6.org/">http://www.perl6.org/</a></p>
</div>
<div class='pod'>
<a name='This week on perl6-compiler'></a><h1>This week on perl6-compiler</h1>
<p>Yes you read that right; development of the Perl 6 compiler now has its
own mailing list. Hopefully, in the coming weeks, the current
perl6-internals list will get renamed parrot-internals to reflect that
split.</p>
<p>As I write this, groups.google.com hasn't picked up the new list, but
I'm sure it will do eventually, so I'm going to continue to use Google
URLs here on the theory that they'll work eventually. If you're
desperate to read the whole threads before then you can start at
<a href='http://www.nntp.perl.org/group/perl.perl6.compiler/' target='_blank'>www.nntp.perl.org</a> -- there's all of
35 messages there as I type this...</p>
<a name='Bundles'></a><h2>Bundles</h2>
<p>In a thread that migrated over from perl6-language Gregory Keeney
continued discussion of whether Perl 6 will/should have an officially
blessed bundling system, or whether it should simply have good enough
hooks that someone could write one. There was some discussion about
whether perl6-compiler is actually the correct list for the
discussion...</p>
<p><a href='http://groups.google.com/groups?threadm=413E2AB4.2070107@lmco.com' target='_blank'>groups.google.com</a></p>
<a name='Current state?'></a><h2>Current state?</h2>
<p>Herbert Snorrason wondered what state the Perl 6 compiler was
in. (I think we all did to be honest, but Herbert got to ask the
question.)</p>
<p>Patrick said that he and Luke (I think) are at the beginning stages of
building a basic perl 6 grammar engine that compiles to parrot and
handles some basic optimizations. In tandem with that, Patrick was also
working on writing a Perl 6 grammar. The plan is (and no plan survives
contact with the enemy) to get a working basic grammar engine up in the
next month or so then use that to build the Perl 6 parser.</p>
<p>As soon as there's code, announcements will be made in all the right
places (and who knows? maybe even on Slash dot).</p>
<p>If you want to help with the process of writing the grammar engine, your
best bet (at least until there's some running code) is to snag the
appropriate apocalypse and use that to write tests and post 'em to the
list.</p>
<p><a href='http://groups.google.com/groups?threadm=c1b5821504090803483f528a3d@mail.gmail.com' target='_blank'>groups.google.com</a></p>
<a name='Meanwhile, in perl6-internals'></a><h1>Meanwhile, in perl6-internals</h1>
<a name='Fix ops'></a><h2>Fix ops</h2>
<p>Last week Leo had discussed unhooked ops without definite opcode numbers
and asked for comments on what to do with them. Apparently Dan finds
many of the boolean functions useful, so they're going to be kept,
probably hidden behind a namespace, once we know how namespaces work.</p>
<p><a href='http://groups.google.com/groups?threadm=4137507F.5010606@toetsch.at' target='_blank'>groups.google.com</a></p>
<a name='Perl free configuration'></a><h2>Perl free configuration</h2>
<p>Right now, Parrot's configuration system palms off a lot of the work to
the local Perl installation by querying the perl config. Which isn't
ideal in the long run. So Dan suggested that now's the time to make a
list of what info configure.pl grabs from the perl installation and
instead to write(appropriate) probing code ourselves so we can do
perl-free configuration. The usual &quot;autoconf!&quot; &quot;No! Metaconfig!&quot; &quot;No!
Something else entirely!&quot; discussion occurred. (For the record, Dan
seems to favour the 'something else entirely' option).</p>
<p>The bike shed remains unpainted.</p>
<p><a href='http://groups.google.com/groups?threadm=a06110402bd6243597a07@' target='_blank'>groups.google.com</a>[10.0.1.2]</p>
<a name='Oh My. Minesweeper!'></a><h2>Oh My. Minesweeper!</h2>
<p>Jens Rieks pointed everyone at the shiny new
<b><i>examples/sdl/minesweeper/mines.imc</i></b>. Speaking as a compulsive
Minesweeper in recovery, this is a bad, bad thing.</p>
<p><a href='http://groups.google.com/groups?threadm=200409061855.51395.parrot@jensbeimsurfen.de' target='_blank'>groups.google.com</a></p>
<a name='Dynamic PMC libraries'></a><h2>Dynamic PMC libraries</h2>
<p>Steve Fink posted a patch to Parrot's build system to make the process
of building libraries of dynamic PMCs rather less platform
specific. After a sanity check from Leo it got committed.</p>
<p><a href='http://groups.google.com/groups?threadm=20040907034002.GA22076@kevin.fink.com' target='_blank'>groups.google.com</a></p>
<a name='Semantics for regexes'></a><h2>Semantics for regexes</h2>
<p>The discussion of required semantics to implement a regular expression
engine continued. Chip Salzenberg chipped in with some experience from
the Topaz project (a brave project to reimplement Perl 5 in C++ that,
sadly failed whilst teaching Chip a great deal). I confess that the
thought of an <code>open_up_and_say_aaah</code> method on Perl Scalars delighted
your summarizer.</p>
<p><a href='http://groups.google.com/groups?threadm=20040907025916.GA13372@perlsupport.com' target='_blank'>groups.google.com</a></p>
<a name='Namespaces'></a><h2>Namespaces</h2>
<p>(Am I the only person who wants to repeat Namespaces! with the same
intonation used for 'Monorail!' in the Simpsons?)</p>
<p>As Dan pointed out, Parrot needs namespaces, more than that, it needs
them to be designed. So, like the excellent designer he is, he laid out
his plan for namespaces and invited comments. And comments there
were. We can probably expect a PDD soon. Ish.</p>
<p><a href='http://groups.google.com/groups?threadm=a06110405bd636771e587@' target='_blank'>groups.google.com</a>[10.0.1.2]</p>
<a name='Patrick R. Michaud Speaks!'></a><h2>Patrick R. Michaud Speaks!</h2>
<p>Mark Patrick's words: There will be a Perl 6.</p>
<p>Now all that remains is to find out when.</p>
<p><a href='http://groups.google.com/groups?threadm=20040907171607.GD23808@contra.vosn.net' target='_blank'>groups.google.com</a></p>
<a name='mod_parrot progress'></a><h2>mod_parrot progress</h2>
<p>Jeff Horwitz updated everyone on his progress with updating (rewriting)
a mod_parrot plugin for Apache 2.</p>
<p><a href='http://groups.google.com/groups?threadm=Pine.LNX.4.44.0409071154400.6586-100000@booger.sixgeeks.org' target='_blank'>groups.google.com</a></p>
<a name='Continuations and GC. Continued'></a><h2>Continuations and GC. Continued</h2>
<p>They're baack! Just when you thought return continuations had been
sorted, they're back and causing memory leaks.</p>
<p><a href='http://groups.google.com/groups?threadm=200409072222.23542.parrot@jensbeimsurfen.de' target='_blank'>groups.google.com</a></p>
<a name='No Autoconf, dammit!'></a><h2>No Autoconf, dammit!</h2>
<p>Dan restated his position on using Autoconf in the parrot build
system. It's really rather simple:</p>
<p>We're not using autoconf. Period.</p>
<p>In the discussion, Herbert Snorrason suggested we institute a &quot;Rule One&quot;
for Dan. In other words, Dan is always right. Unless he changes his mind
(&quot;Rule Two&quot;). Or is overridden by Larry (&quot;The One True Rule One&quot;).</p>
<p>It works for me.</p>
<p><a href='http://groups.google.com/groups?threadm=a06110414bd63e3cc0af3@' target='_blank'>groups.google.com</a>[10.0.1.2]</p>
<a name='Constant strings'></a><h2>Constant strings</h2>
<p>Dan posted a discussion of const_string, a Parrot function for making
use of string constants from C. It's very useful, but it doesn't seem
to be as useful as Dan would like it to be, so he's extended the API.</p>
<p>Personally, I'd like Symbols as first class data structures in Parrot,
but not enough that I'm likely to implement the darned things.</p>
<p><a href='http://groups.google.com/groups?threadm=a06110416bd63ed1036ea@' target='_blank'>groups.google.com</a>[10.0.1.2]</p>
<p><a href='http://groups.google.com/groups?threadm=a06110420bd64c13aad60@' target='_blank'>groups.google.com</a>[10.0.1.2] - Part two.</p>
<a name='Multiple languages clarification'></a><h2>Multiple languages clarification</h2>
<p>Self-described newbie, Richard Jolly asked for clarification on what
mixing languages will look like. Dan pointed out that it hadn't
actually been specified yet. Besides, the internals list didn't do
syntax.</p>
<p>He then outlined what he thought the syntax would look like. He doubts
that people will end up mixing languages in single source files
though. Further discussion pretty much agreed with Dan, generally
arguing that most uses of multiple languages would come from using
other languages' libraries.</p>
<p><a href='http://groups.google.com/groups?threadm=CAC60D5C-01E2-11D9-8EAB-003065AE00B6@mac.com' target='_blank'>groups.google.com</a></p>
<a name='NCI and the running process image'></a><h2>NCI and the running process image</h2>
<p>Jeff &quot;mod_parrot&quot; Horwitz revived a thread from a year ago. He wanted
to be able to use the running process image (say httpd) and grab its
various API functions using <code>dlfunc</code>. Sadly, although this works for
functions that Apache uses from shared libraries, it doesn't work for
those functions that are statically linked into the binary. He wondered
if this was a bug, or if he was going to have to stick to using the
workaround he'd come up with.</p>
<p>It turns out that it isn't a bug, but it can be done by passing a NULL
as the filename from which you're dynamically loading a
function. Thanks Leo.</p>
<p><a href='http://groups.google.com/groups?threadm=Pine.LNX.4.44.0409091048070.30590-100000@booger.sixgeeks.org' target='_blank'>groups.google.com</a></p>
<a name='Meanwhile, in perl6-language'></a><h1>Meanwhile, in perl6-language</h1>
<a name='Synopsis 9, the discussion continues'></a><h2>Synopsis 9, the discussion continues</h2>
<p>Synopsis 9 covers Perl's data types. And, from such a small acorn grows
one might oak of a thread. Some of the discussion was even about Perl's
data types. There was also a snide remark about summaries and the
correct pronunciation of 'Z' -- in revenge for which I plan to make
sure that David Green is never mentioned in a Perl 6 Summary.</p>
<p>oops.</p>
<p><a href='http://groups.google.com/groups?threadm=20040902234740.GA29156@wall.org' target='_blank'>groups.google.com</a></p>
<a name='Sub signatures without parens'></a><h2>Sub signatures without parens</h2>
<p>Juerd wondered if the parentheses around the signatures of
function/method were still strictly necessary. Larry explained that
they were and why.</p>
<p><a href='http://groups.google.com/groups?threadm=20040904133421.GN759@c4.convolution.nl' target='_blank'>groups.google.com</a></p>
<a name='The reach of macros'></a><h2>The reach of macros</h2>
<p>Last week, Larry pointed out that even existing keywords could be
overridden with macros. Piers Cawley pointed out that they'd be no fun
if they didn't. Larry added the caveat that macros couldn't work with
precompiled library code (which is a shame, but understandable). This
thread developed into the (occasionally intemperate) discussion of
Bundles that later migrated to perl6-compiler.</p>
<p><a href='http://groups.google.com/groups?threadm=m21xhhkfn3.fsf@obelisk.bofh.org.uk' target='_blank'>groups.google.com</a></p>
<a name='Iterators and for'></a><h2>Iterators and for</h2>
<p>David Wheeler wondered if the (Smalltalk by way of) Rubyish style of
eschewing <code>for</code> in favour appropriate iterators and code blocks would
eventually become good Perl 6 style. (I expect it will in my
code). Larry didn't think it would, but pointed out that the syntax had
been modified recently to make it relatively easy to work that way if
you wanted to. Instead of writing, say:</p>
<pre>    @foo.each({...})</pre>
<p>we'll be able to write</p>
<pre>    @foo.each:{...}</pre>
<p><a href='http://groups.google.com/groups?threadm=2921F1D6-027D-11D9-93DC-000A95B9602E@kineticode.com' target='_blank'>groups.google.com</a></p>
<a name='Announcements, Apologies, Acknowledgements'></a><h1>Announcements, Apologies, Acknowledgements</h1>
<p>If you find these summaries useful or enjoyable, please consider
contributing to the Perl Foundation to help support the development of
Perl. You might also like to send feedback or contributions to a
'getting Piers to OSCON 2005' fund to mailto:<a href='mailto:pdcawley@bofh.org.uk'>pdcawley@bofh.org.uk</a></p>
<p><a href='http://donate.perl-foundation.org/' target='_blank'>donate.perl-foundation.org</a> -- The Perl Foundation</p>
<p><a href='http://dev.perl.org/perl6/' target='_blank'>dev.perl.org</a> -- Perl 6 Development site</p>
<p>Or, you can check out my website.</p>
<p><a href='http://www.bofh.org.uk/' target='_blank'>www.bofh.org.uk</a></p>
</div>
